Postgre 源码学习

1. 首先, 我选择eclipse CDT作为开发工具,很简单, 在Help->Install New Software中输入一下网址安装插件即可
http://download.eclipse.org/tools/cdt/releases/helios

2. 下载postgres源码,配置、编译、安装
Step 2.1 在终端对PostgreSQL进行配置将目录切换到PostgreSQL源码的根目录,执行如下命令:
cd postgresql-9.2.2
./configure –prefix=$HOME/project –enable-depend –enable-cassert –enable-debug
其中–prefix指定PostgreSQL要安装的目录 (这个目录可以任意指定,但是建议使用绝对路径,这样在后续开发过程中不会出现因路径问题而产生的一系列莫名其妙的问题) –enable-depend、 –enable-cassert及 –enable-debug

Step 2.2 编译PostgreSQL
打开Eclipse将PostgreSQL源码导入Eclipse的工作目录,选择File–>import,选择Existing Code as Makefile Project, 然后点击Next,在下面的图示中选择PostgreSQL源码所在的目录,并为工程文件起一个项目名,并选择编译器
由于PostgreSQL是使用C编写的,所以也要把C++勾掉,只保留C,然后点击Finish,等待工程导入完毕,这里需要注意的是只有当工程完全导入之后才可以执行下面的操作,否可可能出现错误,(可以通过Eclipse右下角查看当前导入进度)。当工程完全导入之后没有出现错误,则表明PostgreSQL编译成功

Step 2.3 安装PostgreSQL
在导入的工程上右键选择Make Targets 然后选择Create,在Make Target选项卡中双击install进行安装,Eclipse控制台中出现“Postgres Installation Complete” 表明PostgreSQL安装成功。

3. 初始化Postgres
Step 3.1 此时的PostgreSQL还不能真正使用,还需要进行初始化,在终端中执行如下操作:
export PATH=$HOME/postgresql-9.2.2/bin:$PATH
export PGDATA=DemoDir
initdb

Step 3.2 在Eclipse中项目上右键选择Run As–>Run Configurations,双击C/C++ Application,在Main选项卡中点击Search Project选择Postgres点击Apply。然后再切换到Arguments选项卡,输入参数:-D DemoDir(即上面命令中PGDATA指定的路径)。点击Run,如果看到如下信息表示安装成功。
LOG: database system is ready to accept connections
LOG: autovacuum launcher started

4. 初始Postgres
在终端输入:
createdb DemoDB
psql -l
psql DemoDB

5. 在Eclipse中调试PostgreSQL源代码

如果要调试PostgreSQL源码,首先保证安装了gdb,之后在工程上右键,选择Debug As–>Local C/C++ Application,在弹出的窗口中选择postgres,点击OK, 这时我们就可以通过Eclipse调试PostgreSQL源码了

Jerky Lu wechat
欢迎加入微信公众号